package com.chendx.store.api.goods;

import com.chendx.model.common.dtos.ResponseResult;
import com.chendx.model.goods.dto.SkuDto;
import com.chendx.model.goods.dto.SkuInfoDto;
import com.chendx.model.goods.pojo.Sku;
import com.chendx.model.order.pojo.OrderItem;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * Created by chendx on 2022/4/18.
 */
public interface SkuControllerApi {
    /**
     * spu查询sku
     * @param spuId
     * @return
     */
    public List<Sku> findBySpuId(Long spuId);

    public ResponseResult add(SkuInfoDto dto);

    /**
     * 主键查询
     * @param id
     * @return
     */
    public Sku findSkuById( Long id);

    /**
     * 查询所有
     * @return
     */
    public List<Sku> findAllSku();

    /**
     * 库存处理操作
     * @param orderItem
     * @return
     */
    public ResponseResult decrCount(@RequestBody OrderItem orderItem);

    /**
     * 库存回滚处理操作
     * @param orderItem
     * @return
     */
    public ResponseResult incrCount(@RequestBody OrderItem orderItem);

    /**
     * sku消息提醒
     * @return
     */
    public ResponseResult getNoReadNotice();


    /**
     * 修改商品价格
     * @param dto
     * @return
     */
    ResponseResult updatePrice(SkuDto dto);

    /**
     * 关于商品的消息列表
     * @return
     */
    ResponseResult goodsNotice();

    /**
     * 消息已读
     * @return
     */
    ResponseResult readNotice();

    /**
     * 获取商品sku
     * @return
     */
    public ResponseResult skuInfos(SkuDto dto);
}
